#include "widget.h"
#include "ui_widget.h"

#include <QPushButton>//这个头文件在这里声明，为什么.h文件类不会报错，这是因为QT提供了一个特殊的头文件，会把其他包含的头文件在头文件中声明一遍
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
//    QPushButton* button =new QPushButton("this is a button",this);
    //绑定点击事件，一个槽函数
//    connect(button,&QPushButton::clicked,this,&QWidget::close);//槽函数也有些是该类自带的
//    connect(button,&QPushButton::clicked,this,&this->close);//槽函数也有些是该类自带的,当然，用该类实例化出的对象同样包含此方法
//    void (Widget::*Signal_p)()=&Widget::mysignal;
//    QPushButton* button1=new QPushButton("selfdefine",this);
//    connect(button1,&Widget::mysignal,this,&Widget::mysolt);//看错了，是因为这个槽函数不属于button1,所以才会报错//这里会类型不匹配，看完文档可以发现，这里传递的参数是字符串风格，所以要强行类型转换
//    void (Widget::*Slot_p)()=&Widget::mysolt;
//    connect(this,&Widget::mysignal,this,&Widget::mysolt);
//    emit mysignal();
    this->tch=new teacher(this);
    this->stu=new student(this);
    connect(stu,&student::mysignal,tch,&teacher::Myslot);
    emit stu->mysignal();
}

Widget::~Widget()
{
    delete ui;
}

